package com.jcw.kqxt.constants;

import com.jcw.kqxt.constants.ErrorCodeInterface;

/**
 * 用户方操作导致错误
 * 1000~1999截止
 *
 * @Date 2020/9/1 16:27
 * @Author czq
 */
public enum ErrorUserOperEnum implements ErrorCodeInterface {

    // 所有异常信息均需在枚举类中定义，定义时按照规则做好区分，错误码不可重复，异常码定义约定如下
    // 1000~1999	用户操作导致错误	规则校验、用户操作不当等造成的错误

    /**
     * 位置错误
     */
    UNKNOWN_ERROR(0, "未知错误"),
    /**
     * 敏感词校验不通过
     */
    FILTER_ERROR(2, "敏感词校验不通过"),
    /**
     * 访问受限
     */
    NO_AUTH(403, "访问受限"),
    /**
     * 资源不存在
     */
    NOT_FOUND(404, "资源不存在"),
    /**
     * 没有查询到相关结果
     */
    DB_EXCEPTION(501, "没有查询到相关结果"),
    /**
     * 数据转换异常
     */
    DATA_PARSE_EXCEPTION(502, "数据转换异常"),
    /**
     * 数据已存在
     */
    ERROR_DATA_EXISTS(503, "数据已存在"),
    /**
     * 数据不存在
     */
    ERROR_DATA_UNEXISTS(504, "数据不存在"),
    /**
     * 数据正在被使用中
     */
    USING_ERROR(505, "数据正在被使用中"),
    /**
     * 密码验证失败
     */
    ERROR_PWD(506, "密码验证失败"),
    /**
     * 缺少入参
     */
    LESS_INPARAMS(507, "缺少入参"),
    /**
     * 长度不合法
     */
    LENGTH_ERROR(508, "长度不合法"),
    /**
     * 案件号已存在
     */
    ERROR_CASE_EXISTS(509, "案件号已存在"),
    /**
     * 初核号已存在
     */
    ERROR_CX_CASE_EXISTS(510, "初核号已存在"),
    /**
     * 协查号已存在
     */
    ERROR_XC_CASE_EXISTS(511, "协查号已存在"),


    // 状态码 1开头，代表系统内部异常，需格外关注
    SERVER_ERROR(1000, "服务异常，请联系管理员"),
    SQL_ERROR(1001, "SQL语法错误"),
    CHECK_NULL_ERROR(1002, "方法参数为空异常"),
    /**
     * 缺少关键字，无法更新
     */
    ERROR_CODE_1003(1003,"缺少必须参数id，操作失败"),
    /**
     * 关键数据项为空，请重新填写
     */
    ERROR_CODE_1004(1004,"关键数据项为空，操作失败"),
    /**
     * 已存在该证件号码,请重新修改
     */
    ERROR_CODE_1005(1005,"已存在该证件号码"),
    ERROR_CODE_1006(1006,"已存在该手机号"),

    ERROR_CODE_1007(1007,"不存在该记录！"),
    /**
     * 缺少关键字，无法更新
     */
    ERROR_CODE_1008(1008,"缺少必须参数ids，操作失败"),
    /**
     * 红白名单提示，红名单时拼接信息返回给前端提示内容
     */
    ERROR_CODE_1009(1009, "超过查询权限，禁止查询"),
    /**
     * 参数传递异常
     */
    ERROR_CODE_1010(1010,"请求参数接收失败"),
    /**
     * 提交的数据为空，更新失败
     */
    ERROR_CODE_1011(1011,"提交的数据为空，操作失败"),

    /**
     * 案件立案号不能为空
     */

    ERROR_CODE_1012(1012,"案件立案号不能为空"),
    /**
     * 案件编号生成失败
     */
    ERROR_CODE_1013(1013,"案件编号生成失败"),
    /**
     * 案件立案号不能重复
     */
    ERROR_CODE_1014(1014,"案件立案号不能重复"),
    /**
     * 未找到该案件对应的审批任务
     */
    ERROR_CODE_1015(1015,"未找到该案件对应的审批任务"),
    /**
     * 已经存在相同的结案申请
     */
    ERROR_CODE_1016(1016,"已经存在相同的结案申请"),


    /*暂定1101-1199为用户输入校验不合法错误*/
    /**
     * 字段值不合法
     */
    ERROR_CODE_INPUT_ILLEGAL(1101,"字段值不合法"),
    /*暂定1101-1199为用户输入校验不合法错误*/

    /**
     * 所查询信保部门为空
     */
    ERROR_CODE_DEPT_NOTFOUND_XB(1102,"本单位没有查询到信保部门"),

    /**
     * 未查询到数据分析相关信息
     */
    ERROR_CODE_NO_DATAANALYZE_INFO(1103,"未查询到数据类型/检材/app详情"),

    /**
     * 新旧数据分析对象转换失败
     */
    ERROR_CODE_CONVERT_SJFX(1104,"新旧数据分析对象转换失败"),

    /**
     * 新旧数据分析对象转换失败
     */
    ERROR_CODE_CONVERT_DATAANALYZE(1105,"新旧数据分析对象转换失败"),

    /**
     * taskVO模型转换失败
     */
    ERROR_CODE_CONVERT_TASKVO(1106,"taskVo对象拷贝失败"),

    /**
     * 数据分析任务创建失败
     */
    ERROR_CODE_SJFX_SAVE(1107,"数据分析任务创建失败"),

    /**
     * 流程发起失败
     */
    ERROR_CODE_START_PROCESS(1108,"流程发起失败"),

    /**
     * 审批流转失败
     */
    ERROR_CODE_COMMITAPPROVE(1109,"审批流转失败"),
    /**
     * 任务名已经存在
     */
    ERROR_CODE_TASKNAME_EXIST(1110,"任务名已经存在"),

    ERROR_CODE_NO_PROCESS_NODE(1111,"未找到配置的流程"),

    ERROR_CODE_TASK_ALREADY_APPLY(1112,"任务已发起"),
    ERROR_CODE_PROCESS_EXIST(1114,"当前流程已存在，请勿重复添加！"),
    ERROR_CODE_NO_EXECUTE(1115,"未找到执行人"),
    ERROR_CODE_NO_NEXT_USER(1116,"下级用户节点未查到"),
    ERROR_CODE_NO_DEPT_USER(1117,"未查询到该人员部门"),
    ERROR_CODE_NO_PROCESS(1118,"未查询到到流程"),
    ERROR_CODE_NO_ACTTASK(1119,"任务不存在"),
    ERROR_CODE_NO_APPLY(1120,"不能申请该状态的任务"),
    ERROR_CODE_FILE_FAIL(1121,"附件下载或预览失败"),
    ERROR_CODE_NO_RECALL_TASK(1122,"无法撤回该状态下的任务"),
    ERROR_CODE_TASK_FAIL(1123,"发起外部数据查询任务成功"),
    ERROR_CODE_CASE_CODE_FAIL(1124,"案件编号生成失败！"),
    ERROR_CODE_ORG_FLOW_NOT_FOUND(1125,"未查询到任务的组织流向详细信息！"),
    ERROR_CODE_RESELECT(1126,"请重新选择！"),
    ERROR_CODE_USER_NO_DEPT(1127,"该人员部门不存在！"),
    ERROR_CODE_DEPT_NO_USER(1128,"该人员的部门不存在！"),
    ERROR_CODE_NO_USER_CHANGE(1129,"未选择变更人员！"),
    ERROR_CODE_GROUP_NAME_EXIST(1130,"组名已存在！"),
    ERROR_CODE_NO_AUTHORITY_CHANGE_LEADER(1131,"没有权限更换组长！"),
    ERROR_CODE_CREATER_SJFX(1131,"请从数据分析菜单创建单独的数据分析任务！"),
    ERROR_CODE_SAVE_DATA_FAIL(1132,"存入数据库失败！"),
    ERROR_CODE_DATA_UOT_TIME(1133,"该上传包超出上传时限！"),
    ERROR_CODE_DEAL_APPLY(1134,"请选择要处理的申请！"),
    ERROR_CODE_NO_STATUS(1135,"未传递审批状态！"),
    ERROR_CODE_NOTE_NOT_EDIT(1137,"该笔录已经被移送过不能再编辑！"),
    ERROR_CODE_CHECK_NOT_EDIT(1138,"该检材已经被移送过不能再编辑！"),
    ERROR_CODE_PASSWORD(1140,"账号或密码错误！"),
    ERROR_CODE_NO_TASK_TYPE(1141,"任务类型不能为空！"),
    ERROR_CODE_EXIST_ROLE(1142,"该身份已存在！"),
    ERROR_CODE_FILE_NO_IMAGE(1144,"上传文件不是图片！"),
    ERROR_CODE_ROLE_EXIST(1145,"当前角色已添加！"),
    ERROR_CODE_UPDATE_TASK(1146,"不能修改该任务！"),
    ERROR_CODE_CURRENT_USER_NOT_EXIST(1147,"当前用户不存在！"),
    ERROR_CODE_USER_NAME_EXIST(1148,"已存在该用户名！"),
    ERROR_CODE_USER_AND_PASSWORD(1149,"用户名或密码不正确！"),
    ERROR_CODE_NO_EXIST_DATA(1150,"不存在该条查控记录！"),
    ERROR_CODE_COULD_NOT_DATA(1151,"您无法查询该数据！"),
    ERROR_DUBBLE_PERSON(1152,"已存在该数据，请勿重复录入。！"),


    ;
    private int code;
    private String message;

    ErrorUserOperEnum(int state, String msg) {
        this.code = state;
        this.message = msg;
    }

    @Override
    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    @Override
    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }
}
